package com.teradata.olingo.metadata.core.edm.mapper.impl;

import com.teradata.olingo.metadata.api.GenericEdmMetadataPostProcessor;
import com.teradata.olingo.metadata.core.edm.mapper.api.GenericServiceDocument;
import com.teradata.olingo.metadata.core.edm.mapper.exception.ODataGenericModelException;

public final class GenericServiceDocumentFactory {

  private final String namespace;
  private final GenericEdmMetadataPostProcessor postProcessor;
  private final String[] packageName;

  public GenericServiceDocumentFactory(final String namespace,
                                       final GenericEdmMetadataPostProcessor postProcessor, final String[] packageName) {
    super();
    this.namespace = namespace;
    this.postProcessor = postProcessor;
    this.packageName = packageName;
  }

  public GenericServiceDocument getServiceDocument() throws ODataGenericModelException {
    return new IntermediateServiceDocument(namespace, postProcessor, packageName);
  }
}
